package com.klun.project.common.constans.leetcode;

import com.klun.project.common.constans.entity.TreeNode;

/**
 * 给你两个整数 n 和 k ，请你构造一个答案列表 answer ，该列表应当包含从 1 到 n 的 n 个不同正整数，并同时满足下述条件：
 * 假设该列表是 answer = [a1, a2, a3, ... , an] ，那么列表 [|a1 - a2|, |a2 - a3|, |a3 - a4|, ... , |an-1 - an|] 中应该有且仅有 k 个不同整数。
 * 返回列表 answer 。如果存在多种答案，只需返回其中 任意一种 。
 */
public class Solution667 {

	public int[] constructArray(int n, int k) {
		int[] answer = new int[n];
		int t = n - k - 1;
		for (int i = 0; i < t; i++) {
			answer[i] = i + 1;
		}
		for (int i = t, a = n - k, b = n; i < n; ) {
			answer[i++] = a++;
			if (i < n) answer[i++] = b--;
		}
		return answer;
	}

}
